
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';

export default defineConfig({
  plugins: [vue()],
  server: {
    open: true,
    hmr: {
      overlay: true, // 启用错误覆盖层
    },
  },

  esbuild: {
    logOverride: {
      'this-is-undefined-in-esm': 'silent', // 静默特定错误
    },
  },

  build: {
    lib: {
      entry: 'src/index.ts',
      name: 'tt',
      fileName: (format) => `tt.${format}.js`,
    },
    rollupOptions: {
      output: {
        exports: 'named',
        // 确保UMD模块能正确处理默认导出
        globals: {
          vue: 'Vue'
        },
        // 添加样式输出配置
        assetFileNames: 'assets/[name].[ext]',
        manualChunks: undefined // 禁用代码分割以确保样式内联
      },
      // 确保在入口点保留签名，这对正确处理导出很重要
      preserveEntrySignatures: 'strict',
      // 排除Vue作为依赖，让用户自行提供
      external: ['vue']
    },
    emptyOutDir: false,
    // 确保CSS被正确处理
    cssCodeSplit: false,
    minify: true
  }
});